Alexander Larsson [Thu, 6 Nov 2014 19:37:10 +0000 (20:37 +0100)]
gdk_gl_texture_from_surface: Enable scissor test
Alexander Larsson [Thu, 6 Nov 2014 18:33:24 +0000 (19:33 +0100)]
gdk_gl_texture_quad: Fix handling of window scales
Lapo Calamandrei [Thu, 6 Nov 2014 16:21:50 +0000 (17:21 +0100)]
Adwaita: remove last child border on backdrop column headers
Lapo Calamandrei [Thu, 6 Nov 2014 11:39:34 +0000 (12:39 +0100)]
Adwaita: initial overlay indicator styling
Alexander Larsson [Thu, 6 Nov 2014 11:21:28 +0000 (12:21 +0100)]
GdkX11GLContext: Use bitblit for swap if no buffer age support
If buffer age is undefined and the updated area is not the whole
window then we use bit-blits instead of swap-buffers to end the
frame.
This allows us to not repaint the entire window unnecessarily if
buffer_age is not supported, like e.g. with DRI2.
Alexander Larsson [Thu, 6 Nov 2014 11:13:08 +0000 (12:13 +0100)]
Add gdk_gl_context_has_framebuffer_blit()
This checks if the context supports GL_EXT_framebuffer_blit
Alexander Larsson [Thu, 6 Nov 2014 10:31:01 +0000 (11:31 +0100)]
GdkGL: Fix up GL_ARB_texture_rectangle support
This broke when gdk_gl_texture_quad moved to shaders. We need
a specialized shader for the rectangle case.
Alexander Larsson [Thu, 6 Nov 2014 10:29:51 +0000 (11:29 +0100)]
Add support for GDK_GL=texture-rectangles
This allows us to test our support for GL_ARB_texture_rectangle
Alexander Larsson [Thu, 6 Nov 2014 09:21:48 +0000 (10:21 +0100)]
Add GDK_GL env var and GdkGLFlags
This moves the GDK_ALWAYS_USE_GL env var to GDK_GL=always.
It also changes GDK_DEBUG=nogl to GDK_GL=disable, as GDK_DEBUG
is really only about debug loggin.
It also adds some completely new flags:
software-draw-gl:
Always use software fallback for drawing gl content to a cairo_t.
This disables the fastpaths that exist for drawing directly to
a window and instead reads back the pixels into a cairo image
surface.
software-draw-surface:
Always use software fallback for drawing cairo surfaces onto a
gl-using window. This disables e.g. texture-from-pixmap on X11.
software-draw:
Enables both the above.
Alexander Larsson [Thu, 6 Nov 2014 08:21:35 +0000 (09:21 +0100)]
gdk_cairo_draw_from_gl: Remove useless call
The glFramebufferTexture2DEXT call makes no sense here, we're
not using the texture as a framebuffer, just as a normal
texture source.
Alexander Larsson [Thu, 6 Nov 2014 08:15:03 +0000 (09:15 +0100)]
GdkWindow: Try to use a Core 3.2 GL profile for the paint context
If this is supported we avoid a lot of legacy baggage which we don't
need.
Alexander Larsson [Thu, 6 Nov 2014 08:13:36 +0000 (09:13 +0100)]
gdk_gl_texture_quad: Use shaders to texture things
This is the modern way OpenGL works, and using it will let us
switch to a core context for the paint context, and work on
OpenGL ES 2.0.
Alexander Larsson [Thu, 6 Nov 2014 08:12:40 +0000 (09:12 +0100)]
GdkGL: Rename "context" to "paint_context" to clarify things a bit
Alexander Larsson [Thu, 6 Nov 2014 08:11:17 +0000 (09:11 +0100)]
gdk_cairo_draw_from_gl: Document that this changes the current context
Alexander Larsson [Thu, 6 Nov 2014 08:10:34 +0000 (09:10 +0100)]
GdkGLContextX11: Use passed in context, not get_current()
Alexander Larsson [Wed, 5 Nov 2014 14:42:06 +0000 (15:42 +0100)]
Add gdk_gl_texture_quad() helper
Right now this just centralizes the glBegin/glEnd code, but
this will be replaced with buffer objects later.
Alexander Larsson [Wed, 5 Nov 2014 14:19:00 +0000 (15:19 +0100)]
gdkgl: Don't constantly re-create the tmp framebuffer
Dimitris Spingos [Thu, 6 Nov 2014 11:49:23 +0000 (13:49 +0200)]
Updated Greek translation
Matthias Clasen [Thu, 6 Nov 2014 06:04:13 +0000 (01:04 -0500)]
GtkHeaderBar: Queue a resize when pack-type is changed
Otherwise, buttons appear to stick to the wrong side in glade.
Robert Ancell [Wed, 5 Nov 2014 22:12:18 +0000 (11:12 +1300)]
mir: Handle pointer up/down events without a button mask set (i.e. touch events)
The Mir backend was checking for button mask changes to generate the appropriate
GDK event. When Mir generates a touch event it has no button mask. In this case
we'll just generate a primary button event.
Lapo Calamandrei [Wed, 5 Nov 2014 15:01:28 +0000 (16:01 +0100)]
Adwaita: dim GtkPlacesSidebar icons color
Benjamin Otte [Wed, 5 Nov 2014 12:05:56 +0000 (13:05 +0100)]
tests: Add deprecation guards
It's the last test still spewing these and I'm too lazy to do a proper
fix.
Matthias Clasen [Wed, 5 Nov 2014 11:29:47 +0000 (06:29 -0500)]
widget-factory: Fill up page 2 properly
The collapsed expander leaves and odd empty corner, so expand
it initially.
Matthias Clasen [Wed, 5 Nov 2014 05:27:13 +0000 (00:27 -0500)]
widget-factory: Add another osd
This is modeled after the totem osd.
Alexander Larsson [Wed, 5 Nov 2014 11:02:18 +0000 (12:02 +0100)]
GdkGLContextX11: Only set swap interval when it changed
Alexander Larsson [Wed, 5 Nov 2014 08:52:51 +0000 (09:52 +0100)]
GdkGL: Fix and clean up gdk_cairo_draw_from_gl()
This was unnecessarily creating a framebuffer in the texture case,
and it was not properly setting up a framebuffer with the texture
as source in the software fallback w/ texture source case.
Robert Ancell [Wed, 5 Nov 2014 02:50:15 +0000 (15:50 +1300)]
mir: Don't assert on unknown Mir events.
If we get a Mir event we don't understand generate a warning instead of an assert.
Matthias Clasen [Tue, 4 Nov 2014 21:56:25 +0000 (16:56 -0500)]
GtkHeaderBar: Make the position child property writable
Glade asssumes that it is, and without this, rearranging children
in glade is very cumbersome.
Carlos Garnacho [Tue, 4 Nov 2014 16:08:49 +0000 (17:08 +0100)]
gtkwindow: Resort to regular event bubbling by all means on non-toplevels
If the multipress gesture is not created (ie. not a toplevel GtkWindow),
also avoid possibly calling gtk_widget_event() on the events gotten here.
Carlos Garnacho [Tue, 4 Nov 2014 16:07:29 +0000 (17:07 +0100)]
gtkwindow: Do not create the multipress gesture for plugs
GtkPlugs may "qualify" as toplevels, even though they're not meant to
be WM manipulated, so refuse to create the multipress gesture for these
too.
Yosef Or Boczko [Tue, 4 Nov 2014 17:23:13 +0000 (19:23 +0200)]
Updated Hebrew properties translation
Yosef Or Boczko [Tue, 4 Nov 2014 17:22:40 +0000 (19:22 +0200)]
Updated Hebrew translation
Lapo Calamandrei [Tue, 4 Nov 2014 13:59:24 +0000 (14:59 +0100)]
Adwaita: brighter dark variant header-bar bottom shade
Matthias Clasen [Tue, 4 Nov 2014 03:35:11 +0000 (22:35 -0500)]
Make window scale changes work again
Commit
afd9709afff151e04b84b91c6d90b7 made us keep impl window
cairo surfaces around across changes of window scale. But the
window scale setter forgot to update the size and scale of the
surface. The effect of this was that toggling the window scale
from 1 to 2 in the inspector was not causing the window to draw
at twice the size, although the X window was made twice as big,
and input was scaled too. Fix this by updating the surface when
the window scale changes.
Matthias Clasen [Tue, 4 Nov 2014 00:01:57 +0000 (19:01 -0500)]
Add some more builder tests
Alexander Larsson [Mon, 3 Nov 2014 12:35:00 +0000 (13:35 +0100)]
GtkGLArea: Correctly position/size input window on realize
Alexander Larsson [Mon, 3 Nov 2014 12:20:55 +0000 (13:20 +0100)]
GdkGLContext: Add display property
We need to use this in the code path where we make the context
non-current during destroy, because at that point the window
could be destroyed and gdk_window_get_display() would return
NULL.
Alexander Larsson [Mon, 3 Nov 2014 12:19:40 +0000 (13:19 +0100)]
GtkGLArea: Don't dispose gl context on unrealize
This was done to ensure the context is not current, but this is
pretty broken for shared contexts. We now just make it non-current.
Alexander Larsson [Mon, 3 Nov 2014 09:43:31 +0000 (10:43 +0100)]
GtkGLArea: Add create-context signal
This lets you hook into the GL context creation which is useful
if you want to share one GL context between GtkGLArea widgets.
Matthias Clasen [Mon, 3 Nov 2014 05:48:42 +0000 (00:48 -0500)]
Only warn once if inhibit-related dbus calls fail
No need to spam about it.
https://bugzilla.gnome.org/show_bug.cgi?id=734140
Matthias Clasen [Mon, 3 Nov 2014 05:25:14 +0000 (00:25 -0500)]
GtkIconTheme: Improve an error message
Mention the name of the theme when an icon lookup fails.
https://bugzilla.gnome.org/show_bug.cgi?id=687963
Matthias Clasen [Mon, 3 Nov 2014 05:02:13 +0000 (00:02 -0500)]
GtkFileChooser: Add a menuitem for 'sort directories first'
This has been requested repeatedly.
Alberts Muktupāvels [Fri, 31 Oct 2014 01:10:13 +0000 (03:10 +0200)]
gtkmenu: fix unnecessary scroll buttons
Don't change menu height if menu is out of monitor only by shadow
width.
https://bugzilla.gnome.org/show_bug.cgi?id=738321
Lapo Calamandrei [Wed, 22 Oct 2014 18:46:54 +0000 (20:46 +0200)]
Adwaita: add borders to menus in a non composited env
https://bugzilla.gnome.org/show_bug.cgi?id=738800
Matthias Clasen [Sun, 2 Nov 2014 22:46:35 +0000 (17:46 -0500)]
GtkHeaderBar: Fix a corner-case in child properties
The child property setting must be prepared to deal with any
child property for any child, even if it doesn't make sense,
like the pack-type for the custom title. This is happening
in glade when undoing a change in the custom-title property.
Dimitris Spingos [Sun, 2 Nov 2014 08:52:52 +0000 (10:52 +0200)]
Updated Greek translation
Matthias Clasen [Sat, 1 Nov 2014 18:49:02 +0000 (14:49 -0400)]
csd: Improve appearance inside glade
glade turns windows into non-toplevels, so we can easily recognize
that situation and avoid adding a humongous shadow area.
Matthias Clasen [Sat, 1 Nov 2014 18:44:03 +0000 (14:44 -0400)]
Fix an ordering issue in event destruction
gdk_event_get_display accesses event->any.window, so don't
free that window first thing.
Matthias Clasen [Sat, 1 Nov 2014 17:18:33 +0000 (13:18 -0400)]
GtkVolumeButton: Fix annoying double formatting
We meant to specify 0.2, and it came out as 0.
2000000001.
Matthias Clasen [Sat, 1 Nov 2014 17:18:17 +0000 (13:18 -0400)]
glade: Add GtkColorEditor to private widgets
Matthias Clasen [Sat, 1 Nov 2014 17:15:20 +0000 (13:15 -0400)]
glade: Drop a no-longer existing private widget
GtkScaleButtonScale fell by the wayside when the scale button
was ported to a popover.
Cosimo Cecchi [Fri, 31 Oct 2014 00:02:45 +0000 (17:02 -0700)]
radiobutton: don't consider hidden buttons in the group for focus
When a GtkRadioButton has no focus, it will accept it when there is no
other active button in its group.
If the active button in the group is hidden, for example because the UI
desires not to have a default option pre-selected, currently the focus
will not be accepted, which is not desired behavior.
This commit changes the code to only consider visible buttons in the
group when checking whether another button is active.
https://bugzilla.gnome.org/show_bug.cgi?id=739474
Matthias Clasen [Sat, 1 Nov 2014 02:34:09 +0000 (22:34 -0400)]
GtkListBox: Fix a bug in unselection
Ensure that gtk_list_box_get_selected_row returns NULL after
gtk_list_box_unselect_all. Add a testcase that detects this
problem.
Matthias Clasen [Sat, 1 Nov 2014 02:28:17 +0000 (22:28 -0400)]
icon-browser: Add search
Most of the code was already in place, just some loose ends
to fix up.
Matthias Clasen [Sat, 1 Nov 2014 01:14:09 +0000 (21:14 -0400)]
inspector: Search refinements
Show close buttons on all search bars.
Matthias Clasen [Sat, 1 Nov 2014 01:13:18 +0000 (21:13 -0400)]
inspector: Refine object tree search
Behave similar to traditional treeview search, and center
the row when moving between matches.
Matthias Clasen [Fri, 31 Oct 2014 18:16:39 +0000 (14:16 -0400)]
inspector: Add search to the object tree
This is also an attempt to figure out a better story for search
in treeviews.
Matthias Clasen [Fri, 31 Oct 2014 18:16:02 +0000 (14:16 -0400)]
Trivial: sort file list alphabetically
Lapo Calamandrei [Fri, 31 Oct 2014 15:53:23 +0000 (16:53 +0100)]
Adwaita: special case .default-decoration
Titlebars which are just window handles can be smaller.
Lapo Calamandrei [Fri, 31 Oct 2014 15:44:21 +0000 (16:44 +0100)]
Adwaita: simpler gtkcalendar style (once again)
Matthias Clasen [Fri, 31 Oct 2014 00:54:54 +0000 (20:54 -0400)]
inspector: Improve search in style property list
Use a search bar with a search entry instead of the builtin
treeview search popup.
Matthias Clasen [Fri, 31 Oct 2014 00:54:04 +0000 (20:54 -0400)]
inspector: Improve search in property list
Use a search bar with a search entry instead of the builtin
treeview search popup.
Matthias Clasen [Thu, 30 Oct 2014 22:47:46 +0000 (18:47 -0400)]
inspector: Stop overeager activation
Stop using activate-on-single click for the property list -
it is a little annoying to have the popover come up when you
just click in the list to get the focus there.
Alexander Larsson [Thu, 30 Oct 2014 19:00:45 +0000 (20:00 +0100)]
GdkGLArea: fix has_alpha changes at runtime
We need to completely reallocate the buffers if we switch
has_alpha, because we may switch from render buffers to
texture.
Alexander Larsson [Thu, 30 Oct 2014 18:49:43 +0000 (19:49 +0100)]
GtkGLArea: Add resize signal
This is very useful, as almost all GL code wants to recalculate
the cameras each time the window size changes.
Alexander Larsson [Thu, 30 Oct 2014 18:18:05 +0000 (19:18 +0100)]
GtkGLArea: Add profile property
This lets you force a core 3.2 context if you want
Alexander Larsson [Thu, 30 Oct 2014 17:51:40 +0000 (18:51 +0100)]
GtkGLArea: Add INPUT_ONLY window so that we can get events
Alexander Larsson [Thu, 30 Oct 2014 17:22:44 +0000 (18:22 +0100)]
GtkGLArea: Major reworking
This restructures the way buffers are allocated and bound in a way
that is more flexible.
Buffer operation happens in three phases:
create_buffer() - Creates the gl objects
allocate_buffers() - Allocates space for the buffers at a given size
attach_buffers() - Attaches the buffers to the framebuffer and makes
the framebuffer the default drawing target
And destroy via
delete_buffers()
We call all these the first draw, and after that we allocate buffers
each time the widget changes size until the buffers are deleted.
We delete the buffers at unrealize.
However, anyone that wants to manually control buffer allocation strategies
can manually call allocate/delete_buffers().
There are also some other changes:
* Support for stencil buffers.
* A manual render mode where ::draw doesn't render unless you manually
invalidated the previous rendering.
Alexander Larsson [Thu, 30 Oct 2014 15:04:28 +0000 (16:04 +0100)]
gdk_x11_display_make_gl_context_current: move some code
This moves the code related to the frame sync code into
the is_attached check, which means we don't have to ever
run this when making non-window-paint contexts current.
This is a minior speed thing, but the main advantage
is that it makes making a non-paint context current
threadsafe.
Lapo Calamandrei [Thu, 30 Oct 2014 17:41:45 +0000 (18:41 +0100)]
Adwaita: darken a bit OSD background color
To not make it vanish on dark variant background color.
Matthias Clasen [Thu, 30 Oct 2014 17:41:13 +0000 (13:41 -0400)]
Improve warning
Mention the file that we're failing to load. That makes it obvious
what is wrong.
Matthias Clasen [Thu, 30 Oct 2014 16:50:09 +0000 (12:50 -0400)]
inspector: Add HighContrast to built-in themes list
Matthias Clasen [Thu, 30 Oct 2014 16:48:56 +0000 (12:48 -0400)]
HighContrast: integrate in build machinery
Matthias Clasen [Thu, 30 Oct 2014 16:47:53 +0000 (12:47 -0400)]
Drop gtk.gresource.xml
Theme resources are controlled from the (generated) .gresource.xml
file two stories up.
Matthias Clasen [Thu, 30 Oct 2014 15:34:32 +0000 (11:34 -0400)]
HighContrast: Add sass parsing script
Just a copy of what we have next door in Adwaita.
Matthias Clasen [Thu, 30 Oct 2014 15:32:23 +0000 (11:32 -0400)]
HighContrast: Drop settings.ini
The only setting in there is already the default behavior,
and the setting is deprecated and ignored anyway.
Lapo Calamandrei [Thu, 30 Oct 2014 12:21:13 +0000 (13:21 +0100)]
Adwaita: slightly contrasting popover background
Lapo Calamandrei [Thu, 30 Oct 2014 12:18:48 +0000 (13:18 +0100)]
Adwaita: border radiusses rationalization
Piotr Drąg [Thu, 30 Oct 2014 16:21:40 +0000 (17:21 +0100)]
Updated POTFILES.in
Jakub Steiner [Thu, 30 Oct 2014 15:14:37 +0000 (16:14 +0100)]
theme: move HC theme from gnome-themes-standard
- HC is part of the toolkit the same way as Adwaita is
- No automake foo included
Alexander Larsson [Thu, 30 Oct 2014 11:42:37 +0000 (12:42 +0100)]
Add GdkGLContext::profile
Alexander Larsson [Thu, 30 Oct 2014 11:22:08 +0000 (12:22 +0100)]
Clarify docs for gdk_cairo_draw_from_gl
Alexander Larsson [Thu, 30 Oct 2014 11:15:51 +0000 (12:15 +0100)]
Remove GdkGLContext::visual
This is not really needed. The gl context is totally tied to the
window it is created from by virtue of sharing the context with the
paint context of that window and that context always has the visual
of the window (which we already can get).
Also, all user visible contexts are essentially offscreen contexts, so
a visual doesn't make sense for them. They only use FBOs which have
whatever format that the users sets up.
Alexander Larsson [Thu, 30 Oct 2014 11:08:31 +0000 (12:08 +0100)]
GtkGLArea: Always destroy context on unrealize
We had some code that tried to reuse the context over realize, but
that doesn't work as we need to share with the possibly new
paint context of the re-realized window.
Alexander Larsson [Thu, 30 Oct 2014 11:07:39 +0000 (12:07 +0100)]
GdkWindow: destroy paint gl context on destroy
Alexander Larsson [Thu, 30 Oct 2014 11:04:23 +0000 (12:04 +0100)]
GdkGLContext: Track shared context
This allows us to read it back, but primarily it ensures
the shared context wrapper stays alive as long as the context.
Alexander Larsson [Thu, 30 Oct 2014 10:46:09 +0000 (11:46 +0100)]
GdkGLContext: Change the way we track the current context
To properly support multithreaded use we use a global GPrivate
to track the current context. Since we also don't need to track
the current context on the display we move gdk_display_destroy_gl_context
to GdkGLContext::discard.
Lapo Calamandrei [Thu, 30 Oct 2014 10:50:27 +0000 (11:50 +0100)]
Adwaita: osd rationalization and tweakings
Removed bright translucent outer border for "top level" osd widgets,
insensitive osd entry styled, more meaningfull color variables and
some code rationalization.
Alexander Larsson [Thu, 30 Oct 2014 09:30:33 +0000 (10:30 +0100)]
GdkWindowX11: Keep the impl window cairo surface around until destroy
We used to have a weak ref to the cairo surface and it was keep
alive by the references in the normal windows, but that reference
was removed by
d48adf9cee7e340acd7f8b9a5f9716695352b848, causing
us to constantly create and destroy the surface.
https://bugzilla.gnome.org/show_bug.cgi?id=738648
Matthias Clasen [Tue, 28 Oct 2014 03:51:17 +0000 (23:51 -0400)]
Make the inspector window translucent instead of lowering
Make the inspector window click-through and see-through
when we can, instead of lowering it. This is useful, since
Wayland has no lowering.
Lapo Calamandrei [Wed, 29 Oct 2014 18:54:43 +0000 (19:54 +0100)]
Adwaita: fix for the previous colorswatch fix...
Make the selected colorswatch inhert on backdrop.
Lapo Calamandrei [Wed, 29 Oct 2014 18:50:58 +0000 (19:50 +0100)]
Adwaita: fix selected colorswatch white border
Lapo Calamandrei [Wed, 29 Oct 2014 17:10:39 +0000 (18:10 +0100)]
Adwaita: first round of OSD style converage
Some code refactoring, entry and spinbuttons and flat buttons
styled, more to come...
Carlos Garnacho [Wed, 29 Oct 2014 16:31:15 +0000 (17:31 +0100)]
wayland: Emit GDK_OWNER_CHANGE events around wl_data_offer changes
This way the upper GtkClipboard code emits correctly ::owner-change when
receiving these events.
Alexander Larsson [Wed, 29 Oct 2014 12:52:04 +0000 (13:52 +0100)]
GdkX11GLContext: Fix leak
Alexander Larsson [Wed, 29 Oct 2014 12:33:08 +0000 (13:33 +0100)]
Cache default gdk visuals in the GDK_VISUALS property on the root window
This means we don't have to try to initialize opengl in every gtk
instance that is stated. It will only happen for the first one.
https://bugzilla.gnome.org/show_bug.cgi?id=738670
Alexander Larsson [Wed, 29 Oct 2014 11:35:07 +0000 (12:35 +0100)]
X11: Pick better system and rgba visuals for GL
We want to create windows with the default visuals such that we then
have the right visual for GLX when we want to create the paint GL
context for the window.
For instance, (in bug 738670) the default rgba visual we picked for the
NVidia driver had an alpha size of 0 which gave us a BadMatch when later
trying to initialize a gl context on it with a alpha FBConfig.
Instead of just picking what the Xserver likes for the default, and just
picking the first rgba visual we now actually call into GLX to pick
an appropriate visual.
Matthias Clasen [Wed, 29 Oct 2014 10:42:08 +0000 (06:42 -0400)]
Remove a redundant call
No need to set shapes twice in a row.
Matthias Clasen [Sun, 26 Oct 2014 23:14:01 +0000 (19:14 -0400)]
GtkPopoverMenu: Add API to open a submenu
This allows alternative menu switching to be implemented, besides
the builtin GtkModelButton support.
Matthias Clasen [Sun, 26 Oct 2014 23:11:33 +0000 (19:11 -0400)]
Add a scale to the popover menu example
Demonsttrate that this is flexible enough for the intended uses.